<?php
/**
* @package   auto_occasion
* @subpackage essais
* @author    your name
* @copyright 2011 your name
* @link      http://www.yourwebsite.undefined
* @license    All rights reserved
*/

class BoFichesCtrl extends jController {
    
   public $pluginParams = array(
                                    '*'=>array('auth.required'=>true,
                                    'jacl2.right'=>'admin.compte.gerer'
                                    )
                            );
    
    /**
    *
    */
    function index() {
        
        jClasses::inc('essais~essaisSrv') ;
        
        $iTypeId = $this->intParam('iTypeId') ;
        $rep = $this->getResponse('html');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.core.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.widget.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.mouse.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.sortable.js');
        $toParams = array() ;
        switch ($iTypeId) {
            case 2:
                $menusActifs = adminHtmlResponse::MENU_FICHES_GAMMES ;
                $toParams['zLeftTitle'] = 'LES ANCIENNES GAMMES' ;
                $toParams['zCenterTitle'] = 'GESTION DES ANCIENNES GAMMES' ;

                break;

            case 3:
                $menusActifs = adminHtmlResponse::MENU_FICHES_DOSSIERS ;
                $toParams['zLeftTitle'] = 'LES DOSSIERS' ;
                $toParams['zCenterTitle'] = 'Gestion des DOSSIERS' ;

                break;

            default:
                $menusActifs = adminHtmlResponse::MENU_FICHES_MODELES ;
                $toParams['zLeftTitle'] = 'LES MOD&Eacute;LES' ;
                $toParams['zCenterTitle'] = 'Gestion des MOD&Egrave;LES' ;
                break;
        }
        
        
        $toParams['iTypeId'] = $iTypeId ;
        $toParams['toFiches'] = essaisSrv::getAllFiches($iTypeId) ;
        $rep->menusActifs = $menusActifs ;
        $rep->bodyTpl = 'essais~BoFichesList';
        $rep->body->assign($toParams) ;

        return $rep;
    }
    
    /**
    *
    */
    function modeles() {
        $rep = $this->getResponse('redirect');
        $rep->action = 'essais~BoFiches:index' ;
        $rep->params = array('iTypeId' => 1) ;

        return $rep;
    }
    
    /**
    *
    */
    function gammes() {
        $rep = $this->getResponse('redirect');
        $rep->action = 'essais~BoFiches:index' ;
        $rep->params = array('iTypeId' => 2) ;

        return $rep;
    }
    
    /**
    *
    */
    function dossiers() {
        $rep = $this->getResponse('redirect');
        $rep->action = 'essais~BoFiches:index' ;
        $rep->params = array('iTypeId' => 3) ;

        return $rep;
    }
    
    /**
    *
    */
    function reOrder() {
        
        jClasses::inc('essais~essaisSrv') ;
        
        $postedParams = $this->params() ;
        $rep = $this->getResponse('text') ;
        $rep->content = essaisSrv::reOrder($postedParams) ;

        return $rep;
    }
    
    /**
    * Edition d'un essai
    */
    function edit() {
        
        $rep = $this->getResponse('html') ;
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.core.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.widget.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.mouse.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.ui.sortable.js');
        $rep->addJSLink($GLOBALS['gJConfig']->urlengine['basePath'].'design/back/js/jquery.validate.min.js');
        
        jClasses::inc('essais~essaisSrv') ;
        jClasses::inc('commun~common') ;
        jClasses::inc('marqueModele~marqueSrv') ;
        jClasses::inc('marqueModele~modeleSrv') ;
        
        $iEssaiId = $this->intParam('iId') ;
        $toParams['oEssai'] = ($iEssaiId) ? essaisSrv::getById($iEssaiId) : common::init('ao_essais') ;
        $iTypeId = ($this->intParam('iTypeId')) ? $this->intParam('iTypeId') : $toParams['oEssai']->ess_iTypeId ;

        // Récupération du chapeau si c'est stocké dans un fichier texte
        if ($iEssaiId) {
            $ess = $toParams['oEssai'];
            $filename = JELIX_APP_WWW_PATH . PATH_ESSAI_CHAPEAU . $ess->ess_zChapeau;
            if (file_exists($filename) && strpos($ess->ess_zChapeau, ".txt") !== false) {
                //récupération du contenu du fichier et le mettre dans la variable ess_zChapeau x :gamme-porsche-1019663438.txt
                jClasses::inc('commun~toolsFile');
                $toParams['oEssai']->ess_zChapeau = toolsFile::get($filename);
            }
            $filenameImg = JELIX_APP_WWW_PATH . PATH_ESSAI_IMG . $ess->ess_zImage;
            // récupération de l'image
            if (file_exists($filenameImg)) {
                $toParams['oEssai']->ess_zImage = PATH_ESSAI_IMG . $ess->ess_zImage;
            }
        }

        switch ($iTypeId) {
            case 1:
                $toParams['typeDir'] = 'Modeles' ;
                $menusActifs = adminHtmlResponse::MENU_FICHES_MODELES ;
                $toParams['zLeftTitle'] = 'LES MOD&Egrave;LES' ;
                $toParams['zCenterTitle'] = 'Gestion des MOD&Egrave;LES' ;
                break;

            case 2:
                $toParams['typeDir'] = 'Gammes' ;
                $menusActifs = adminHtmlResponse::MENU_FICHES_GAMMES ;
                $toParams['zLeftTitle'] = 'LES GAMMES' ;
                $toParams['zCenterTitle'] = 'Gestion des GAMMES' ;

                break;

            case 3:
                $toParams['typeDir'] = 'Dossiers' ;
                $menusActifs = adminHtmlResponse::MENU_FICHES_DOSSIERS ;
                $toParams['zLeftTitle'] = 'LES DOSSIERS' ;
                $toParams['zCenterTitle'] = 'Gestion des DOSSIERS' ;

                break;

            default:
                $toParams['typeDir'] = 'Modeles' ;
                $menusActifs = adminHtmlResponse::MENU_FICHES_MODELES ;
                $toParams['zLeftTitle'] = 'LES MOD&Eacute;LES' ;
                $toParams['zCenterTitle'] = 'Gestion des MOD&Egrave;LES' ;
                
                break;
        }
  
        $toParams['iTypeId']			= $iTypeId ;
        $toParams['iEssaiId']			= $iEssaiId ;
        $toParams['toFiches']			= essaisSrv::getAllFichesByTypeId($iTypeId) ;
        $toParams['toMarqueVoitures']	= marqueSrv::getAllByOrder() ;
        $iMarqueVoitureId				= (isset ($toParams['oEssai']->ess_iMarqueId)) ? $toParams['oEssai']->ess_iMarqueId : 0 ;
        $toParams['toModelesVoitures']	= modeleSrv::getAllOrderedModeleByMarqueId($iMarqueVoitureId) ;
        $toParams['toCatVoitures']		= essaisSrv::getAllCatVoiture() ;
        $rep->menusActifs				= $menusActifs ;
        $rep->bodyTpl					= 'essais~BoFichesEdit' ;
        $rep->body->assign($toParams) ;
        if($iEssaiId && $iTypeId == 1){
                $rep->body->assignZone ('oZoneModeleLeft', 'essais~BoModeleLeft', array('iId' => $iEssaiId)) ;
        } elseif ($iEssaiId && $iTypeId == 2) {
                $rep->body->assignZone ('oZoneGammeLeft', 'essais~BoGammeLeft', array('iId' => $iEssaiId)) ;
        }
		
        return $rep;
    }
    
    /**
     * Sauvegarde en base des modifs ou insertion
     */
    function save () {
        
        jClasses::inc('essais~essaisSrv') ;
        jClasses::inc('commun~common') ;
        jClasses::inc('commun~uploader');

        
        $toParams = $this->params() ;

        if ((isset($toParams['ess_id']) && !$toParams['ess_id'] ) || $toParams['ess_dateCrea']=="0000-00-00 00:00:00") $toParams['ess_dateCrea'] = date("Y-m-d h:i:s");
        $toParams['ess_dateModif'] = date("Y-m-d h:i:s");
        $essai= essaisSrv::store($toParams) ;


        //création repertoire  si n'existe pas et copie fichiers source dans cee répertoire créé  
        essaisSrv::createDirectory($toParams['ess_iMarqueId'], $toParams['ess_iModelId'], $toParams['ess_zImage'],$toParams['typeDir'],$toParams['ess_zVersion']);

        $rep = $this->getResponse('redirect') ;
        $rep->action = 'essais~BoFiches:edit' ;
        $rep->params = array('iId' => $essai->ess_id) ;
        
        return $rep;
    }
    
    /**
     * Supprime la gamme séléctionnée
     */
    function deleteEssai () {
        
        $iTypeId = $this->intParam('iTypeId') ;
        $iId = $this->intParam('iId') ;
        
        jClasses::inc('essais~essaisSrv') ;
        essaisSrv::deleteById($iId);
        
        $rep = $this->getResponse('redirect') ;
        $rep->action = 'essais~BoFiches:index' ;
        $rep->params = array('iTypeId' => $iTypeId) ;
        
        return $rep;
    }
    
    /**
     * Renvir dynamiquement les modeles disponible correspondant à une marque
     *
     * @return type 
     */
    function ajaxGetModelByMarqueId () {
        
        $iMarqueId = $this->intParam('iMarqueId') ;
        
        jClasses::inc('marqueModele~modeleSrv') ;
        
        $rep = $this->getResponse('json') ;
        $modele = modeleSrv::getAllOrderedModeleByMarqueId($iMarqueId) ;
        $rep->data = $modele;        
        return $rep;
    }





}

